package com.wangsir.service;

import com.wangsir.dao.StudentDao;
import com.wangsir.entity.Student;
import com.wangsir.util.PagerVO;

public class StudentService {
    //创建Dao对象供该类进行使用
    StudentDao studentDao = new StudentDao();
    //单元测试
    public static void main(String[] args){
        StudentService studentService = new StudentService();
        PagerVO<Student> page = studentService.page(1, 2, null, null, "吕", null);
        System.out.println(page);
    }

    //根据学生id进行查询
    public Student getStudentBySno(String sno){
        Student student = studentDao.getBySno(sno);
        return student;
    }

    //查询学生的总数量
    public int count(){
        return studentDao.count();
    }

    //某页学生的信息
    public PagerVO<Student> page(int currentPage,int pageSize,String sno,String gender,String name,String clazzno){
        String whereSql = " where 1=1 ";
        //拼接sql,不等于null和空字符串的时候才进行一个拼接
        if(sno!=null&&!sno.equals("")){
            whereSql += "and sno like '%" + sno + "%'";
        }
        if(name!=null&&!name.equals("")){
            whereSql += "and name like '%" + name + "%'";
        }
        if(gender!=null&&!gender.equals("")){
            whereSql += "and gender = '" + gender + "'";
        }
        if(clazzno!=null&&!clazzno.equals("")){
            whereSql += "and clazzno = '" + clazzno + "'";
        }
        return studentDao.page(currentPage,pageSize,whereSql);
    }

    //删除学生通过sno
    public int deleteBySno(String sno){
        int row = studentDao.deleteBySno(sno);
        if(row > 0){
            System.out.println("删除成功！");
        }else{
            System.out.println("删除失败！");
        }
        return row;
    }

    //插入学生
    public String insertStudent(Student student){
        if(student.getSno() == null || student.getSno().equals("")){
            return "学生的学号不可以为空！";
        }
        if(student.getPassword() == null || student.getPassword().equals("")){
            return "学生的密码不可以为空！";
        }
        if(student.getName() == null || student.getName().equals("")){
            return "学生的姓名不可以为空！";
        }
        if(student.getClazzNO() == null || student.getClazzNO().equals("")){
            return "学生的班级不可以为空！";
        }
        //查询是否存在学号和要插入的学生的学号相同的学生，相同则插入失败，否则插入成功
        Student student1 = studentDao.getBySno(student.getSno());
        //如果查询到数据库中有这个学好的学生则提示用户学号已经存在
        if(student1 != null ){
            return "学号已经存在！";
        }
        studentDao.insertStudent(student);
        return null;
    }

    //更新学生表
    public String updateStudent(Student student){
        if (student.getSno() == null || student.equals("")){
            return "被修改的学生的学号不可以为空！";
        }
        studentDao.update(student);
        return null;
    }

}
